home *** CD-ROM | disk | FTP | other *** search
-
- ZIPINFO(1) USER COMMANDS ZIPINFO(1)
-
- NAME
- zipinfo - list detailed information about a ZIP archive file
-
- SYNOPSIS
- zipinfo [-1smlvht] file[.zip] [filespec ...]
-
- ARGUMENTS
- file[.zip] Path of the ZIP archive. The suffix ``.zip'' is
- applied if the file specified does not exist.
- Note that self-extracting ZIP files are sup-
- ported; just specify the ``.exe'' suffix your-
- self.
-
- [filespec] An optional list of archive members to be pro-
- cessed. Expressions may be used to match multi-
- ple members; be sure to quote expressions that
- contain characters interpreted by the Unix
- shell. See PATTERN MATCHING (below) for more
- details.
-
- OPTIONS
- -1 list filenames only, one per line (useful for pipes)
- -s list zipfile info in short Unix ``ls -l'' format:
- default
- -m list zipfile info in medium Unix ``ls -l'' format
- -l list zipfile info in long Unix ``ls -l'' format
- -v list zipfile information in verbose, multi-page format
- -h list header line
- -t list totals for files listed or for all files
-
- PATTERN MATCHING
- All archive members are listed unless a filespec is provided
- to specify a subset of the archive members. The filespec is
- similar to an egrep expression, and may contain:
-
- * matches a sequence of 0 or more characters
- ? matches exactly 1 character
- \nnn matches the character having octal code nnn
- [...] matches any single character found inside the brack-
- ets; ranges are specified by a beginning character, a
- hyphen, and an ending character. If an exclamation
- point or a carat (`!' or `^') follows the left
- bracket, then the range of characters matched is com-
- plemented with respect to the ASCII character set
- (that is, anything except the characters inside the
- brackets is considered a match).
-
- DESCRIPTION
- ZipInfo lists technical information about a ZIP archive,
- including information file access permissions, encryption
- status, type of compression, version and operating system of
- compressing program, and the like. The default option is to
-
- Info-ZIP Last change: 19 Aug 92 (v1.0) 1
-
- ZIPINFO(1) USER COMMANDS ZIPINFO(1)
-
- list files in the following format:
-
- -rw-rwl--- 1.5 unx 2802 t- defX 11-Aug-91 13:48 perms.2660
-
- The last three fields are clearly the modification date and
- time of the file, and its name. The case of the filename is
- respected; thus files which come from MS-DOS PKZIP are
- always capitalized. If the file was zipped with a stored
- directory name, that is also displayed as part of the
- filename.
-
- The second and third fields indicate that the file was
- zipped under Unix with version 1.5 of Zip (a beta version).
- Since it comes from Unix, the file permissions at the begin-
- ning of the line are printed in Unix format. The
- uncompressed file-size (2802 in this example) is the fourth
- field.
-
- The fifth field consists of two characters, either of which
- may take on several values. The first character may be
- either `t' or `b', indicating that Zip believes the file to
- be text or binary, respectively; but if the file is
- encrypted, ZipInfo notes this fact by capitalizing the char-
- acter (`T' or `B'). The second character may also take on
- four values, depending on whether there is an extended local
- header and/or an ``extra field'' associated with the file
- (explained in PKWare's APPNOTE.TXT). If neither exists, the
- character will be a hyphen (`-'); if there is an extended
- local header but no extra field, `l'; if the reverse, `x';
- and if both exist, `X'. Thus the file in this example is
- (apparently) a text file, is not encrypted, and has neither
- an extra field nor an extended local header associated with
- it. The example below, on the other hand, is an encrypted
- binary file with an extra field:
-
- RWD,R,R 0.9 vms 168 Bx shrk 9-Aug-91 19:15 perms.0644
-
- Extra fields are used by PKWare for authenticity verifica-
- tion(?) and possibly other purposes, and by Info-ZIP's Zip
- 1.6 and later to store OS/2, Macintosh and VMS file attri-
- butes. This example presumably falls into the latter class,
- then. Note that the file attributes are listed in VMS for-
- mat. Other possibilities for the host operating system
- include OS/2 with High Performance File System (HPFS), DOS
- or OS/2 with File Allocation Table (FAT) file system, and
- Macintosh, denoted as follows:
-
- arc,,rw, 1.0 os2 5358 Tl i4:3 4-Dec-91 11:33 longfilename.hpfs
- arc,hid,rdo,sys dos 4096 b- i4:2 14-Jul-91 12:58 EA DATA. SF
- --w------- 1.0 mac 17357 bx i8:2 4-May-92 04:02 unzip.macr
-
- Info-ZIP Last change: 19 Aug 92 (v1.0) 2
-
- ZIPINFO(1) USER COMMANDS ZIPINFO(1)
-
- File attributes in the first two cases are indicated in a
- DOS-like format, where the file may or may not have its
- archive bit set; may be hidden or not; may be read-write or
- read-only; and may be a system file or not. If the attri-
- butes are too long, the version number of the encoding
- software is omitted. (The information is still available in
- the verbose listing, however.) Interpretation of Macintosh
- file attributes needs some work yet.
-
- Finally, the sixth field indicates the compression method
- and possible sub-method used. There are six methods known
- at present: storing (no compression), reducing, shrinking,
- imploding, tokenizing, and deflating. In addition, there
- are four levels of reducing (1 through 4); four types of
- imploding (4K or 8K sliding dictionary, and 2 or 3 Shannon-
- Fano trees); and three levels of deflating (fast, normal,
- maximum compression). ZipInfo represents these methods and
- their sub-methods as follows: ``stor''; ``re:1,'' ``re:2,''
- etc.; ``shrk''; ``i4:2,'' ``i8:3,'' etc.; ``tokn''; and
- ``defF,'' ``defN,'' and ``defX.''
-
- The medium and long listings are almost identical to the
- short format except that they add information on the file's
- compression. The medium format indicates the file's
- compression factor as a percentage:
-
- -rw-rwl--- 1.5 unx 2802 t- 81% defX 11-Aug-91 13:48 perms.2660
-
- In this example, the file has been compressed by more than a
- factor of five; the compressed data are only 19% of the ori-
- ginal size. The long format gives the compressed file's
- size in bytes, instead:
-
- -rw-rwl--- 1.5 unx 2802 t- 538 defX 11-Aug-91 13:48 perms.2660
-
- In addition to individual file information, a default zip-
- file listing also includes header and trailer lines:
-
- Archive: OS2.zip 5453 bytes 5 files
- ,,rw, 1.0 os2 730 b- i4:3 26-Jun-92 23:40 Contents
- ,,rw, 1.0 os2 3710 b- i4:3 26-Jun-92 23:33 makefile.os2
- ,,rw, 1.0 os2 8753 b- i8:3 26-Jun-92 15:29 os2unzip.c
- ,,rw, 1.0 os2 98 b- stor 21-Aug-91 15:34 unzip.def
- ,,rw, 1.0 os2 95 b- stor 21-Aug-91 17:51 zipinfo.def
- 5 files, 13386 bytes uncompressed, 4951 bytes compressed: 63%
-
- The header line gives the name of the archive, its total
- size, and the total number of files; the trailer gives the
- number of files listed, their total uncompressed size, and
- their total compressed size (not including any of Zip's
- internal overhead). If, however, one or more filespecs are
- provided, the header and trailer lines are not listed. This
-
- Info-ZIP Last change: 19 Aug 92 (v1.0) 3
-
- ZIPINFO(1) USER COMMANDS ZIPINFO(1)
-
- behavior is also similar to that of Unix's ``ls -l''; it may
- be overridden by specifying the -h and -t options expli-
- citly. In such a case the listing format must also be
- specified explicitly, since -h or -t (or both) in the
- absence of other options implies that ONLY the header or
- trailer line (or both) is listed. See the EXAMPLES section
- below for a semi-intelligible translation of this nonsense.
-
- The verbose listing is self-explanatory. It also lists file
- comments and the zipfile comment, if any, and the number of
- bytes of OS/2 extended attributes stored. Note that the
- latter number will in general NOT match the number given by
- OS/2's ``dir'' command; OS/2 always reports the number of
- bytes required in 16-bit format, whereas ZipInfo always
- reports the 32-bit storage.
-
- ENVIRONMENT OPTIONS
- Modifying ZipInfo's default behavior via options placed in
- an environment variable can be a bit complicated to explain,
- due to ZipInfo's attempts to handle various defaults in an
- intuitive, yet Unix-like, manner. Nevertheless, there is
- some underlying logic. In brief, there are three ``priority
- levels'' of options: the default options; environment
- options, which can override or add to the defaults; and
- explicit options given by the user, which can override or
- add to either of the above.
-
- The default listing format, as noted above, corresponds
- roughly to the "zipinfo -hst" command (except when indivi-
- dual zipfile members are specified). A user who prefers the
- long-listing format (-l) can make use of the ZIPINFO
- environment variable to change this default:
-
- setenv ZIPINFO -l Unix C shell
-
- ZIPINFO=-l; export ZIPINFO Unix Bourne shell
-
- set ZIPINFO=-l OS/2 or MS-DOS
-
- define ZIPINFO_OPTS "-l" VMS (quotes for LOWERCASE)
-
- If, in addition, the user dislikes the trailer line,
- ZipInfo's concept of ``negative options'' may be used to
- override the default inclusion of the line. This is accom-
- plished by preceding the undesired option with one or more
- minuses: e.g., ``-l-t'' or ``--tl'', in this example. The
- first hyphen is the regular switch character, but the one
- before the `t' is a minus sign. The dual use of hyphens may
- seem a little awkward, but it's reasonably intuitive
- nonetheless: simply ignore the first hyphen and go from
- there. It is also consistent with the behavior of the Unix
- command nice(1).
-
- Info-ZIP Last change: 19 Aug 92 (v1.0) 4
-
- ZIPINFO(1) USER COMMANDS ZIPINFO(1)
-
- EXAMPLES
- To get a basic, short-format listing of the complete con-
- tents of a ZIP archive ``storage.zip,'' with both header and
- totals lines, use only the archive name as an argument to
- zipinfo:
-
- zipinfo storage
-
- To produce a basic, long-format listing (not verbose),
- including header and totals lines, use -l:
-
- zipinfo -l storage
-
- To list the complete contents of the archive without header
- and totals lines, either negate the -h and -t options or
- else specify the contents explicitly:
-
- zipinfo --h-t storage
-
- zipinfo storage \*
-
- (where the backslash is required only if the shell would
- otherwise expand the `*' wildcard, as in Unix when globbing
- is turned on--double quotes around the asterisk would have
- worked as well). To turn off the totals line by default,
- use the environment variable (C shell is assumed here):
-
- setenv ZIPINFO --t
-
- zipinfo storage
-
- To get the full, short-format listing of the first example
- again, given that the environment variable is set as in the
- previous example, it is necessary to specify the -s option
- explicitly, since the -t option by itself implies that ONLY
- the footer line is to be printed:
-
- setenv ZIPINFO --t
-
- zipinfo -t storage [only totals line]
-
- zipinfo -st storage [full listing]
-
- The -s option, like -m and -l, includes headers and footers
- by default, unless otherwise specified. Since the environ-
- ment variable specified no footers and that has a higher
- precedence than the default behavior of -s, an explicit -t
- option was necessary to produce the full listing. Nothing
- was indicated about the header, however, so the -s option
- was sufficient. Note that both the -h and -t options, when
- used by themselves or with each other, override any default
- listing of member files; only the header and/or footer are
-
- Info-ZIP Last change: 19 Aug 92 (v1.0) 5
-
- ZIPINFO(1) USER COMMANDS ZIPINFO(1)
-
- printed. This behavior will be more useful when ZipInfo
- accepts wildcards for the zipfile name; one may then summar-
- ize the contents of all zipfiles with a single command.
-
- To list information on a single file within the archive, in
- medium format, specify the filename explicitly:
-
- zipinfo -m storage unshrink.c
-
- The specification of any member file, as in this example,
- will override the default header and totals lines; only the
- single line of information about the requested file will be
- printed. This is intuitively what one would expect when
- requesting information about a single file. For multiple
- files, it is often useful to know the total compressed and
- uncompressed size; in such cases -t may be specified expli-
- citly:
-
- zipinfo -mt storage "*.[ch] Mak\*
-
- Finally, to get maximal information about the ZIP archive,
- use the verbose option. It is usually wise to pipe the out-
- put into a filter such as more(1):
-
- zipinfo -v storage | more
-
- TIPS
- The author finds it convenient to set up an alias ``ii'' for
- ZipInfo on systems which allow aliases, or else to set up a
- batch file ``ii.bat'' or to rename the executable to
- ``ii.exe'' on systems such as MS-DOS which have no provision
- for aliases. The ``ii'' usage parallels the common ``ll''
- alias for long listings in Unix, and the similarity between
- the outputs of the two commands was intentional.
-
- SEE ALSO
- funzip(1), unzip(1), zip(1), zipcloak(1), zipnote(1),
- zipsplit(1)
-
- AUTHOR
- Greg Roelofs (also known as Cave Newt). ZipInfo is partly
- based on S. H. Smith's unzip and contains pattern-matching
- code by J. Kercheval, but mostly it was written from
- scratch. The OS/2 extra-field code is by Kai Uwe Rommel.
-
- Info-ZIP Last change: 19 Aug 92 (v1.0) 6
-
-